Web applications have been increasingly used in a variety of fields including business fields because the rich client technology based on script codes has progressed and they are easily executed if web browsers are installed in client computers. In some application fields, there is strong demand for high availability, good response time and good usability. The rich client technology requires not only the server computer but also the client computer to process larger volumes of data. Since a web application runs on a client-server web system as a network of client and server computers, the availability and performance of the client computer and network as well as those of the server computer must be taken into consideration in order to satisfy the above demand.
On the other hand, in the common method of web system management, the server computer acquires server computer operation logs and error logs to detect problems and measure performance on the server computer side. In connection with the network, though average throughputs are measured, it is difficult to measure individual transactions. The client computer employs the so-called Stopwatch method, a human-assisted method of measuring user-friendliness and user-oriented performance. One recent trend is that a performance measuring tool is installed in the client computer for performance measurement.
However, these methods have drawbacks as follows.
On the part of the server computer, even if a problem is recognized on the client computer, it is very troublesome to find which part of the log acquired by the server computer includes necessary information to know which part of the server computer is defective.
Regarding the network, it is difficult to measure performance for each transaction because numerous communications take place simultaneously.
On the part of client computers, it is difficult in terms of cost and labor to carry out measurements for an extended period at many client computers by a human-assisted method such as the Stopwatch method. If an unspecified number of clients exist, it is also difficult to install a performance measuring tool in each client computer. Besides, collection of measurement results from many client computers in the server imposes burdens on the network and the server.
In addition, which part of the whole web system has caused the problem cannot be known only by performance measurement of each computer.
With this background, several patent and non-patent documents disclose partial solutions to the above drawbacks.
JP-A No. 2000-76266 discloses a method for recording and reproducing user operation on a web browser using JAVA applet and JAVA SCRIPT (registered trademarks). This technique makes it possible to measure client computer operability and performance without installing a special tool in the client computer. However, this technique records only information on operation on the client computer's web browser but does not offer any means to keep a log of processing by the whole web system in conjunction with logs of processes on the server computer, etc. which are required to know how the whole web system has dealt with processes. Regarding storage of process logs in a local disk, though the technique discloses a method which uses a JAVA applet and electronic signature, a more secure and convenient method is anticipated.
U.S. Ser. No. 11/933,610, filed Nov. 1, 2007, describes a method for recording and reproducing user operation on a web application and estimating user action from logs, including an AJAX application. Again this technique neither offers any means to know how the whole web system has dealt with processes nor a method for saving process logs in a local disk.
JP-A No. 2007-172377 discloses a method whereby a tester can effectively confirm behavior of a web page using DHTML (registered trademark) or confirm difference in behavior of the web page between web browsers or give accessibility information on the web page or check adequacy of access. It is a technique for analysis of an internal state of a web application which uses DHTML but neither offers any means to know how the whole web system has dealt with processes nor a method for saving process logs in a local disk.
JP-T No. 2004-537097 discloses a method whereby a server computer sends a code to measure client performance to a client computer and the server is notified of the result of measurement. Although this technique is disclosed as a method for saving the result of measurement in the client computer's memory temporarily or in a persistent storage, it neither offers any means to know how the whole web system has dealt with processes nor a method for saving process logs in a high-security local disk and reading it from the local disk and displaying it.
Furthermore, a non-patent document (Emre Kiciman and Helen Wang, “Live Monitoring: Using Adaptive Instrumentation and Analysis to Debug and Maintain Web Applications”, 11th Workshop on Hot Topics in Operating Systems (HotOS XI), San Diego, May 2007) discloses an AJAX-based method for carrying out web application error check or performance profiling. The document shows an example of an actual system using a proxy and the disclosed method concerns a technique of acquiring a log without modifying the web application. Again this technique neither offers any means to know how the whole web system has dealt with processes nor a method for saving process logs in a local disk.
A second non-patent document (Makoto Otsu, “Introduction to JavaScript programming,” Second Edition, Ohmsha, Ltd.) discloses a method for acquiring a record of an event on a web browser using JAVA SCRIPT. This technique can be used to create process logs on a client computer.
A third non-patent document (Introduction to Persistence,
http://msdn2.microsoft.com/en-us/library/ms533007.aspx)
discloses a method for saving data as a web browser persistent data file on Internet Explorer (registered trademark) or reading it. This technique can be used for the web browser to save the data in a local disk.